﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MonkeysWithTypewriters.MonkeyProcessing
{
    public static class MonkeyDictionary
    {
        private static Random _random = new Random();

        public static string GetVerb()
        {
            return _verbs[_random.Next(_verbs.Count)];
        }

        public static string GetAdverb()
        {
            return _adverbs[_random.Next(_adverbs.Count)];
        }

        public static string GetAdjective()
        {
            return _adjectives[_random.Next(_adjectives.Count)];
        }

        public static string GetNoun()
        {
            return _nouns[_random.Next(_nouns.Count)];
        }

        private static List<String> _verbs = new List<string>()
        {
            "identify", "ignore", "illustrate", "enhance", "enjoy", "enlist", "claim", "clap", "clean", "clear",
            "dress", "drip", "drop", "drum", "dry", "dust", "grab", "grate", "grease", "greet", "telephone", "tell", "thank", "thaw",
            "think", "thrive", "yawn", "zip", "zoom"
        };

        private static List<String> _adverbs = new List<string>()
        {
            "eagerly", "easily", "fast", "loudly", "patiently", "quickly", "never", "often", "rarely", "seldom", "beautifully", 
            "bitterly", "bleakly", "blindly", "blissfully", "boastfully", "boldly", "bravely", "ferociously", 
            "fervently", "fiercely", "fondly", "foolishly", "fortunately", "naturally", "nearly", "neatly", "needily", "nervously"
        };

        private static List<String> _nouns = new List<string>()
        {
            "hose", "joke", "juice", "kite", "lake", "maid", "mask", "mice", "milk", "mint", "meal", "meat",
            "moon", "mother", "morning", "name", "nest", "nose", "cherry", "cobweb", "coil", "cracker", "dinner",
            "eggnog", "elbow", "face", "fireman", "reward", "route", "scene", "scent", "squirrel", "stranger", "suit", 
            "sweater", "territory", "texture", "thread", "treatment", "veil", "volcano", "wealth", "weather"
        };

        private static List<String> _adjectives = new List<string>()
        {
            "adorable", "beautiful", "clean", "drab", "elegant", "fancy", "glamorous", "handsome", "long", "magnificent",
            "old-fashioned", "plain", "quaint", "sparkling", "easy", "famous", "gifted", "helpful", "important", "flat",
            "high", "hollow", "low", "narrow", "round", "icy", "loose", "melted", "nutritious", "prickly", "rainy", "rotten", 
            "salty"
        };

    }
}
